ADO.NET দিয়ে ডেটাবেস কানেক্টিভিটি

ADO.NET সি# এ ডেটাবেস সংযোগ করার জন্য একটি জনপ্রিয় টুল, যা ডেটাবেসের সাথে ডেটা রিট্রিভ, ইনসার্ট, আপডেট এবং ডিলিট করার জন্য ব্যবহৃত হয়। ADO.NET মূলত System.Data নেমস্পেসের অধীনে ডেটাবেস সংক্রান্ত ক্লাস, ইন্টারফেস এবং কনেকশন স্ট্রিংগুলো সরবরাহ করে।

ADO.NET এর প্রধান উপাদানসমূহ

  1. Connection: ডেটাবেসের সাথে সংযোগ স্থাপন করে।
  2. Command: ডেটাবেসে SQL কমান্ড চালায়।
  3. DataReader: রিড-অনলি এবং ফরওয়ার্ড-অনলি ডেটা পড়ার জন্য ব্যবহার করা হয়।
  4. DataAdapter: ডেটাবেস থেকে ডেটা রিট্রিভ ও আপডেট করতে ব্যবহৃত হয়।
  5. DataSet: ডেটার ইন-মেমোরি ক্যাশ সরবরাহ করে, যা বিভিন্ন টেবিল এবং রিলেশন ধরে রাখতে পারে।

উদাহরণ: ADO.NET ব্যবহার করে SQL Server ডেটাবেসের সাথে সংযোগ স্থাপন করা

ধাপ ১: SQL Server কানেকশন স্ট্রিং সেটআপ

ADO.NET দিয়ে ডেটাবেস কানেকশন তৈরি করতে প্রথমে একটি কনেকশন স্ট্রিং প্রয়োজন হয়, যা সার্ভারের সাথে যোগাযোগ করার জন্য প্রয়োজনীয় তথ্য ধারণ করে।

কনেকশন স্ট্রিং উদাহরণ

string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";

ধাপ ২: SQL Server ডেটাবেসে সংযোগ স্থাপন করা

নিচে একটি ADO.NET ব্যবহার করে SQL Server ডেটাবেসে সংযোগ স্থাপন, ডেটা ইনসার্ট, রিড এবং আপডেটের উদাহরণ দেওয়া হলো।


উদাহরণ ১: ডেটাবেসে সংযোগ তৈরি এবং ডেটা রিড করা

using System;
using System.Data;
using System.Data.SqlClient;

public class Program
{
    public static void Main()
    {
        // কানেকশন স্ট্রিং
        string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
        
        // কানেকশন তৈরি
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                connection.Open();
                Console.WriteLine("Database connected successfully.");

                // SQL কমান্ড
                string query = "SELECT * FROM Students";
                
                // কমান্ড তৈরি
                SqlCommand command = new SqlCommand(query, connection);
                
                // DataReader দিয়ে ডেটা পড়া
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Console.WriteLine("ID: " + reader["ID"] + ", Name: " + reader["Name"] + ", Age: " + reader["Age"]);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
    }
}

ব্যাখ্যা

  1. SqlConnection: কানেকশন স্ট্রিং ব্যবহার করে ডেটাবেসের সাথে সংযোগ স্থাপন করা হয়েছে।
  2. SqlCommand: SELECT স্টেটমেন্ট ব্যবহার করে ডেটা রিড করার জন্য SQL কমান্ড তৈরি করা হয়েছে।
  3. SqlDataReader: ExecuteReader() মেথড দিয়ে DataReader তৈরি করা হয়েছে, যা ডেটা রিড করে প্রতিটি রেকর্ড প্রিন্ট করে।

উদাহরণ ২: ডেটাবেসে ডেটা ইনসার্ট করা

using System;
using System.Data.SqlClient;

public class Program
{
    public static void Main()
    {
        string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
        
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                connection.Open();
                
                // SQL ইনসার্ট কমান্ড
                string query = "INSERT INTO Students (Name, Age) VALUES (@Name, @Age)";
                
                SqlCommand command = new SqlCommand(query, connection);
                
                // প্যারামিটার সেট করা
                command.Parameters.AddWithValue("@Name", "John Doe");
                command.Parameters.AddWithValue("@Age", 21);
                
                // ExecuteNonQuery দিয়ে ডেটা ইনসার্ট করা
                int rowsAffected = command.ExecuteNonQuery();
                Console.WriteLine(rowsAffected + " row(s) inserted.");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
    }
}

ব্যাখ্যা

  • INSERT INTO: SQL ইনসার্ট স্টেটমেন্ট ব্যবহার করে Students টেবিলে ডেটা যুক্ত করা হয়েছে।
  • Parameters: SQL ইনজেকশন থেকে রক্ষা পেতে প্যারামিটার ব্যবহার করা হয়েছে।
  • ExecuteNonQuery(): এটি কমান্ডটি চালায় এবং কতগুলি সারি প্রভাবিত হয়েছে তা রিটার্ন করে।

উদাহরণ ৩: ডেটা আপডেট করা

using System;
using System.Data.SqlClient;

public class Program
{
    public static void Main()
    {
        string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
        
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                connection.Open();
                
                // SQL আপডেট কমান্ড
                string query = "UPDATE Students SET Age = @Age WHERE Name = @Name";
                
                SqlCommand command = new SqlCommand(query, connection);
                
                // প্যারামিটার সেট করা
                command.Parameters.AddWithValue("@Age", 22);
                command.Parameters.AddWithValue("@Name", "John Doe");
                
                // ExecuteNonQuery দিয়ে ডেটা আপডেট করা
                int rowsAffected = command.ExecuteNonQuery();
                Console.WriteLine(rowsAffected + " row(s) updated.");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
    }
}

ব্যাখ্যা

  • UPDATE: SQL UPDATE স্টেটমেন্ট ব্যবহার করে Students টেবিলে নির্দিষ্ট রেকর্ড আপডেট করা হয়েছে।
  • Parameters: SQL ইনজেকশন থেকে রক্ষা পেতে প্যারামিটার ব্যবহার করা হয়েছে।

উদাহরণ ৪: ডেটা ডিলিট করা

using System;
using System.Data.SqlClient;

public class Program
{
    public static void Main()
    {
        string connectionString = "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;";
        
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                connection.Open();
                
                // SQL ডিলিট কমান্ড
                string query = "DELETE FROM Students WHERE Name = @Name";
                
                SqlCommand command = new SqlCommand(query, connection);
                
                // প্যারামিটার সেট করা
                command.Parameters.AddWithValue("@Name", "John Doe");
                
                // ExecuteNonQuery দিয়ে ডেটা ডিলিট করা
                int rowsAffected = command.ExecuteNonQuery();
                Console.WriteLine(rowsAffected + " row(s) deleted.");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
        }
    }
}

ব্যাখ্যা

  • DELETE FROM: SQL DELETE স্টেটমেন্ট ব্যবহার করে Students টেবিল থেকে নির্দিষ্ট রেকর্ড ডিলিট করা হয়েছে।
  • Parameters: SQL ইনজেকশন থেকে রক্ষা পেতে প্যারামিটার ব্যবহার করা হয়েছে।

সংক্ষেপে ADO.NET

  • SqlConnection: ডেটাবেসের সাথে সংযোগ স্থাপন করে।
  • SqlCommand: SQL কমান্ড তৈরি এবং ডাটাবেসে চালাতে ব্যবহৃত।
  • SqlDataReader: ডেটা রিড করতে ব্যবহৃত হয়, যা রিড-অনলি এবং ফরওয়ার্ড-অনলি।
  • ExecuteNonQuery: ডাটাবেসে ইনসার্ট, আপডেট, ডিলিট অপারেশনের জন্য ব্যবহৃত।
  • ExecuteReader: ডাটাবেস থেকে রিড অপারেশনের জন্য ব্যবহৃত।

ADO.NET ব্যবহার করে সি# এ ডেটাবেস সংযোগ তৈরি করে ডেটাবেস অপারেশনগুলো সম্পন্ন করা সহজ এবং কার্যকরী হয়।

Content added By

আরও দেখুন...

Promotion